<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>5.8.watch 侦听属性/侦听器</title>
</head>
<body>
    <!--侦听属性/侦听器-->
    <!--使用场景：当需要在数据变化时执行异步或开销较大的操作时，这个方式是最有用的。-->
    <div id="app">
        <input type="text" v-model="message">
    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script type="text/javascript">
        var vm = new Vue({
            el:"#app",
            data:{
                message:"",
                person:{
                    name:'orange',
                    age:17
                }
            },
            watch:{
                message:function(newVal, oldVal){
                    console.log(newVal, oldVal);
                },
                // 如果监控的数据是负责类型，需要使用深度监控
                person:{
                    deep:true,//开启深度监控,可以监控到对象中的属性变化
                    handler:function(arg){// 定义监控到数据后的处理函数
                        console.log(arg.age);
                    }
                }
            }
        });
    </script>
</body>
</html>